<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>symbol_set_map</title>
</head>

<body>
    <script src="./index.js"></script>
    <!-- 
        Symbol: 基本数据类型之一

            特点：保证变量的唯一性 避免重名冲突； 任何两个symbol都不相等

            let s = Symbol('啦啦啦')

            可作为属性名存在 保证属性的安全性

            Symbol.for() 建议使用这个API 
                生成symbol的时候 会优先去寻找已经生成过的symbol
                没有则新生一个

            Symbol.keyFor(s) 传入一个symbol(由Symbol.for生成的) 返回其字符串描述

            目前做开发的时候 用的比较少
     -->

    <!-- 
         Set： 一种全新的数据结构，可以存储不同的值，有序，该结构中的项目不会有重复项；
            什么是数据结构？
                数据按照一定的规范存储起来的形式，就是数据结构；
                数组(按顺序排列的数据集)和对象(简化版的map结构)都是基本的数据结构；

            Set跟Array类似：
            let s = new Set()

            Set中的方法：
                添加：add()
                删除：delete()
                清空所有元素：clear()
                查询：has()
                遍历：forEach()
                枚举：entries(),keys(),values() 枚举键值对，键，值...

      -->

    <!-- 
         Map： 一种全新的数据结构，对象的升级版 直接将对象和对象关联起来
            普通对象的局限性：
                对象 映射关系的集合
                key -> value

                其中的key只能是字符串！

            Map中，属性名和属性值都可以是对象

            let m = new Map()

            Map的方法：
                关联对象：set(key,value)
                查询对象：get(key) 返回value 查询不到 返回 undefined
                删除： delete()
                清空： clear()
                遍历： forEach()
                枚举： entries() keys() values()
      -->
</body>

</html>